import { createStore } from 'vuex'
// 引入子模块
import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'
// 引入自动缓存vuex数据持久化
import createPersistedstate from 'vuex-persistedstate'
// 转存cookie
// import Cookies from 'js-cookie'

export default createStore({
  strict: true, // 严格模式：必须走mutation修改数据
  state: {
  },
  mutations: {
  },
  actions: {
  },
  // 注册模块
  modules: {
    user,
    cart,
    category
  },
  // 配置插件
  plugins: [
    createPersistedstate({ // vuex插件持久化
      key: 'erabbit-client-pc-store', // 这个key 会作为标识用来存入本地调用
      paths: ['user', 'cart'] // 需要把哪个模块进行持久化缓存 内部所有数据都会进行持久化缓存管理
      // storage: {
      //   getItem: key => Cookies.get(key),
      //   setItem: (key, value) => Cookies.set(key, value, { expires: 7 }),
      //   removeItem: key => Cookies.remove(key)
      // }
    })
  ]
})
